package org.devocean.groupbuying.dao;

import java.util.List;

import org.devocean.groupbuying.domain.Product;

public interface ProductDAO {

	public List<Product> findAllProducts();

	public long countProducts();

	public List<Product> findProductsEntries(int firstResult, int maxResults);

	public Product findProductById(int id);

	public Product findProductById(String lang, int id);

	public Product findProductByArticleLocalization(int articleLocalizationID);

	public void removeProduct(int id);

	public Product saveProduct(Product product);

	public Product updateProduct(Product product);

	public Product findProductByArticle(Integer articleID);

	public Product findProductByLang(Integer localizationKey,
			String localizationRequest);

}
